package top.wilsonlv.jaguar.cloud.upms.sdk.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import top.wilsonlv.jaguar.cloud.upms.sdk.enums.ClientType;
import top.wilsonlv.jaguar.commons.web.base.BaseDTO;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;


/**
 * <p>
 * 终端设备
 * </p>
 *
 * @author lvws
 * @since 2022-01-13
 */
@Data
@ApiModel
@EqualsAndHashCode(callSuper = true)
public class DeviceBindDTO extends BaseDTO {

    @NotBlank(message = "设备UID为非空")
    @ApiModelProperty(value = "设备UID", required = true)
    private String deviceUid;

    @NotBlank(message = "设备名称为非空")
    @ApiModelProperty(value = "名称", required = true)
    private String deviceName;

    @NotNull(message = "类型为非空")
    @ApiModelProperty(value = "类型", required = true)
    private ClientType deviceType;

    @NotBlank(message = "型号为非空")
    @ApiModelProperty(value = "型号", required = true)
    private String deviceModel;

    @NotBlank(message = "系统版本为非空")
    @ApiModelProperty(value = "系统版本", required = true)
    private String deviceSysVersion;

    @NotBlank(message = "客户端版本为非空")
    @ApiModelProperty(value = "客户端版本", required = true)
    private String deviceClientVersion;

    @ApiModelProperty("公钥")
    private String devicePublicKey;

}